#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <iostream>


//int main()
//{
//    int n = 0;
//    int arr[100] = { 0 };
//    int x = 0;
//    int count = 0;
//
//    scanf("%d", &n);
//    int i = 0;
//    //n个数字的读取
//    for (i = 0; i < n; i++)
//    {
//        scanf("%d", &arr[i]);
//    }
//
//    //读取x
//    scanf("%d", &x);
//    for (i = 0; i < n; i++)
//    {
//        if (arr[i] == x)
//        {
//            count++;
//        }
//    }
//    printf("%d\n", count);
//    return 0;
//}

#include <stdio.h>

//int main()
//{
//    printf("printf(\"Hello world!\\n\");\n");
//    printf("cout << \"Hello world!\" << endl;\n");
//
//    return 0;
//}

//int is_prime(int n)
//{
//    //拿2~n-1之间的数字去试除n就可以了
//    int j = 0;
//    for (j = 2; j < n; j++)
//    {
//        if (n % j == 0)
//        {
//            return 0;
//        }
//    }
//
//    return 1;
//}
//
//int main()
//{
//    int i = 0;
//    int count = 0;
//    for (i = 100; i <= 999; i++)
//    {
//        //判断i是否为质数
//        if (is_prime(i) == 1)
//        {
//            count++;
//        }
//    }
//
//    printf("%d\n", count);
//
//    return 0;
//}

#include <stdio.h>

//暴力求解
//int main()
//{
//    int n = 0;
//    int arr[1000] = { 0 };
//
//    scanf("%d", &n);
//    //接收n个数字
//    int i = 0;
//    for (i = 0; i < n; i++)
//    {
//        scanf("%d", &arr[i]);
//
//    }
//    //处理：
//    //1. 排序 - 冒泡排序
//    //趟数
//
//    for (i = 0; i < n - 1; i++)
//    {
//        int j = 0;
//        for (j = 0; j < n - 1 - i; j++)
//        {
//            if (arr[j] > arr[j + 1])
//            {
//                int tmp = arr[j];
//                arr[j] = arr[j + 1];
//                arr[j + 1] = tmp;
//            }
//        }
//    }
//    //2. 去重
//    //去重比较的对数最多n-1
//    for (i = 0; i < n - 1; i++)
//    {
//        if (arr[i] == arr[i + 1])
//        {
//            //把从i+1下标的往后的元素全部往前覆盖
//            int k = 0;
//            for (k = i; k < n - 1; k++)
//            {
//                arr[k] = arr[k + 1];
//            }
//            n--;
//            i--;
//        }
//    }
//    //3. 打印
//    for (i = 0; i < n; i++)
//    {
//        printf("%d ", arr[i]);
//    }
//
//    return 0;
//}


//int main()
//{
//    int n = 0;
//    int arr[1001] = { 0 };//1000
//
//    scanf("%d", &n);
//    //接收n个数字
//    int i = 0;
//    int m = 0;
//    for (i = 0; i < n; i++)
//    {
//
//        scanf("%d", &m);
//        arr[m] = m;
//    }
//    for (i = 0; i <= 1000; i++)
//    {
//        if (arr[i] != 0)
//        {
//            printf("%d ", arr[i]);
//        }
//    }
//    return 0;
//}

#include <stdio.h>

//链表的节点的定义方式
struct Node
{
    int data;//数据域
    struct Node* next;//指针域
};

int main()
{
    struct Node* list = NULL;//指向链表的指针
    struct Node* tail = NULL;//指向链表尾部的指针
    //输入n
    int n = 0;
    scanf("%d", &n);
    int i = 0;
    int m = 0;
    int d = 0;//要删除的元素
    //接受n个数字并插入到单链表中
    for (i = 0; i < n; i++)
    {
        scanf("%d", &m);
        struct Node* pn = (struct Node*)malloc(sizeof(struct Node));
        pn->data = m;
        pn->next = NULL;

        //插入第一个元素
        if (list == NULL)
        {
            list = pn;
            tail = pn;
        }

        else
        {
            tail->next = pn;
            tail = pn;
        }
    }

    //接收要删除的元素
    scanf("%d", &d);
    //删除链表中制定的元素

    struct Node* cur = list;
    struct Node* prev = NULL;
    while (cur)
    {
        //找到了要删除的元素
        if (cur->data == d)
        {
            //删除
            //判断删除的如果是第一个节点
            struct Node* pd = cur;
            if (cur == list)
            {
                list = list->next;
                cur = list;
            }
            else
            {
                prev->next = cur->next;
                cur = prev->next;
            }
            free(pd);
            n--;

        }

        else
        {
            prev = cur;
            cur = cur->next;
        }
    }

    //
    printf("%d\n", n);
    cur = list;
    //输出
    while (cur)
    {
        printf("%d ", cur->data);
        cur = cur->next;
    }

    //释放链表
    cur = list;
    struct Node* del = NULL;
    while (cur)
    {
        del = cur;
        cur = cur->next;
        free(del);
    }
    list = NULL;

    return 0;
}

using namespace std;

class TDate
{
private:
    int Year;
    int Month;
    int Day;
public:
    TDate(int y = 0, int m = 0, int d = 0)
    {
        Year = y;
        Month = m;
        Day = d;
    }
    void Print()
    {
        cout << Day << '/' << Month << '/' << Year << endl;
    }
};

int main()
{
    int year = 0;
    int month = 0;
    int day = 0;
    cin >> year >> month >> day;
    TDate d(year, month, day);
    //输出
    d.Print();

    return 0;
}

